public class code4 {

    // 牛客 top101 后序遍历

    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     *
     * @param root TreeNode类
     * @return int整型一维数组
     */
    public int[] postorderTraversal (TreeNode root) {
        // write code here
        // 先创建出一个链表，用于存储遍历获取到的树节点
        List<Integer> list = new ArrayList<>();

        getMessage(root, list);

        int[] arr = new int[list.size()];
        for(int i = 0; i < list.size(); i++) {
            arr[i] = list.get(i);
        }

        return arr;
    }

    private static void getMessage(TreeNode root, List<Integer> list) {
        if(root != null) {
            getMessage(root.left, list);
            getMessage(root.right, list);
            list.add(root.val);
        }
    }
}
